import { Fragment } from '@/components/Fragment'; import { Example, ExampleCode } from '@/components/Example'; import { Authenticator, Alert } from '@aws-amplify/ui-react'; import Link from 'next/link'; import { AuthenticatorButtonClassExample, AuthenticatorClasses, } from './examples'; A Theme is a structured collection of design decisions that change the appearance of a UI library. An Amplify UI theme allows application wide visual changes through the use of targeted CSS classes and variables. For instructions on setting up authenticator and base styling please see{' '} #quick-start ## Classes You can override the Authenticator's `amplify-*` classes to Theme the authenticator. For example to style all of the buttons in the Authenticator you could target the `amplify-button` class. ```css .amplify-button[data-variation='link']:hover { background: none; text-decoration: underline; } ``` To view additional examples of styling the Authenticator using css classes please see our detailed Authenticator documentation ## Variables You can overwrite the Authenticator's `--amplify-*` css variables to theme the Authenticator. For example the sign in page of the Authenticator uses the `--amplify-components-button-*` css variables to style the sign in buttons. ```css [data-amplify-authenticator] { --amplify-components-button-primary-background-color: var( --amplify-colors-brand-secondary-80 ); --amplify-components-button-primary-hover-background-color: var( --amplify-colors-brand-secondary-90 ); --amplify-components-button-primary-focus-background-color: var( --amplify-colors-brand-secondary-90 ); --amplify-components-button-primary-active-background-color: var( --amplify-colors-brand-secondary-100 ); --amplify-components-button-link-color: var( --amplify-colors-brand-secondary-80 ); --amplify-components-button-link-hover-color: var( --amplify-colors-brand-secondary-90 ); --amplify-components-button-link-focus-color: var( --amplify-colors-brand-secondary-90 ); --amplify-components-button-link-active-color: var( --amplify-colors-brand-secondary-100 ); --amplify-components-button-link-active-background-color: transparent; --amplify-components-button-link-focus-background-color: transparent; --amplify-components-button-link-hover-background-color: transparent; } ``` To view additional examples of styling the Authenticator using css variables please see our detailed Authenticator documentation A complete list of variables can be found here